package ComandosFuncionalidadEstado2;

import java.io.IOException;

import util.SocketManager;
import BaseDeDatos.ConsultasMedicion;
import BaseDeDatos.ConsultasSensor;
import ClasesBasicas.Medicion;
import ClasesBasicas.Sensor;
import ProcesarComandos.Procesable;
import Servidor.Peticion;

public class ComandoGetValact implements Procesable {

	@Override
	public void Procesar(String Comando, SocketManager socketManager,
			Peticion peticion) {
		
		String respuesta="";
		String Array[] = Comando.split(" ");
		if(Array[0].equals("GET_VALACT") && Array[1].equals("----"))
		{
			respuesta="525 ERR Falta parametro id_sensor.";
		}
		else if(Array[0].equals("GET_VALACT") && !Array[1].equals("----"))
		{
			Sensor actual = ConsultasSensor.getSensor(Array[1]);
			if(actual==null)
			{
				respuesta = "524 ERR Sensor desconocido.";
			}
			else if(actual.getEstado().equals("OFF"))
			{
				respuesta = "526 ERR Sensor en OFF";
			}
			else if(actual.getEstado().equals("ON"))
			{
				Medicion nueva = ConsultasMedicion.generarMedicion(actual);
				ConsultasMedicion.insertarMedicion(nueva, actual);
				respuesta = "224 OK "+nueva.getFecha()+";"+nueva.getHora()+";"+nueva.getLatitud()+";"+nueva.getLongitud();
						
			}
			
			
		}
		try {
			socketManager.Escribir(respuesta+CRLF);
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
	}

}
